package com.store.app.imlife.activity;

import com.hyphenate.easeui.ui.EaseBaseActivity;

/**
 * Created by Administrator on 2016/7/28.
 */
public class ChatAndVideoActivity extends EaseBaseActivity  {
        //implements IOnHttpListener {
//    private Context mContext;
//    private SurfaceView mVideoSurfaceView = null;
//    private SurfaceHolder mSurfaceHolder = null;
//    private KSYMediaPlayer ksyMediaPlayer;
//    private String mDataSource;
//    public static ChatAndVideoActivity activityInstance;
//    private EaseChatFragment_Video chatFragment;
//    String toChatUsername;
//    private GridView gridView;
//    private UserAdapter adapter;
//    private List<UserUrlBean> list = new ArrayList<UserUrlBean>();
//    private ProgressBar progressBar;
//    private TextView tvZoom;//横竖屏
//    private TextView tvMenu;//右侧菜单
//    private View top_view;
//    public boolean IsPOR = true;
//    private PopupWindow popupWindow;
//    private TextView tv_return;
//    private TextView tv_switch;
//    private TextView tv_person_info;
//    private ImageView loading_black_bg;//视频播放黑色背景图
//    private NetRequest netRequest;
//    //数据库存储
//    private DBHelper_hy db=null;
//    private recordBean_hy rb=null;
//    @Override
//    protected void onCreate(Bundle savedInstanceState) {
//        super.onCreate(savedInstanceState);
//        setContentView(R.layout.activity_chatandvideo);
//        mContext = this.getApplicationContext();
//        activityInstance = this;
//        //get user id or group id
//        toChatUsername = getIntent().getExtras().getString("userId");
//        mDataSource = getIntent().getExtras().getString("mDataSource");
//        //use EaseChatFratFragment
//        chatFragment = new EaseChatFragment_Video();
//        //pass parameters to chat fragment
//        chatFragment.setArguments(getIntent().getExtras());
//        getSupportFragmentManager().beginTransaction().add(R.id.container, chatFragment).commit();
//        initView();
//        initData();
//        if(db==null){
//            db=new DBHelper_hy(this);
//            rb=new recordBean_hy();
//        }
//        EventBus.getDefault().register(this);
//    }
//
//    private void initData(){
//        netRequest =  new NetRequest(this);
//
//    }
//
//    private void initView() {
//        top_view = findViewById(R.id.top_view);
//        tvMenu = (TextView) findViewById(R.id.tv_menu);
//        tvZoom = (TextView) findViewById(R.id.tv_zoom);
//        loading_black_bg = (ImageView) findViewById(R.id.loading_black_bg);
//        mVideoSurfaceView = (SurfaceView) findViewById(R.id.player_surface);
//        progressBar = (ProgressBar) findViewById(R.id.loading_progress);
//        adapter = new UserAdapter(list, this);
//        mSurfaceHolder = mVideoSurfaceView.getHolder();
//        mSurfaceHolder.addCallback(mSurfaceCallback);
//        mVideoSurfaceView.setKeepScreenOn(true);
//        //mDataSource="rtmp://live.hkstv.hk.lxdns.com/live/hks";
//        setPlayer();
//        tvZoom.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                if (IsPOR) {
//                    IsPOR = false;
//                    top_view.setVisibility(View.GONE);
////                    fra_container.setVisibility(View.GONE);
//                    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
//                    chatFragment.setIsportrait(false);
//
//                } else {
//                    IsPOR = true;
//                    top_view.setVisibility(View.VISIBLE);
//                    //  fra_container.setVisibility(View.VISIBLE);
//                    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
//                    chatFragment.setIsportrait(true);
//
//                }
//            }
//        });
//        tvMenu.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                initPopupWindow();
//            }
//        });
//        tv_return = (TextView) findViewById(R.id.tv_return);
//        tv_return.setOnClickListener(new View.OnClickListener() {
//
//            @Override
//            public void onClick(View v) {
//                    chatFragment.onBackPressed();
//                    videoPlayEnd();
//                    finish();
//
//            }
//        });
//        tv_switch = (TextView) findViewById(R.id.tv_switch);
//        tv_switch.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                if (ksyMediaPlayer == null) {
//                    setPlayer();
//                } else {
//                    tv_switch.setBackgroundResource(R.drawable.pic_icon_on);
//                    if (ksyMediaPlayer.isPlaying()) {
//                        ksyMediaPlayer.pause();
//                        Toast.makeText(ChatAndVideoActivity.this, "播放暂停", Toast.LENGTH_SHORT).show();
//                    } else if (ksyMediaPlayer.isPlayable()) {
//                        tv_switch.setBackgroundResource(R.drawable.pic_icon_pause);
//                        ksyMediaPlayer.start();
//                    }
//                }
//            }
//        });
//        tv_person_info = (TextView) findViewById(R.id.tv_person_info);
//        tv_person_info.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//
//            }
//        });
//    }
//
//    /**
//     * 屏幕缩放
//     */
//
////    private View.OnClickListener mVideoScaleButton = new View.OnClickListener() {
////        @Override
////        public void onClick(View v) {
////            int mode = mVideoScaleIndex % 2;
////            mVideoScaleIndex++;
////
////            if(ksyMediaPlayer != null) {
////                if(mode == 1)
////                    ksyMediaPlayer.setVideoScalingMode(KSYMediaPlayer.VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING);
////                else
////                    ksyMediaPlayer.setVideoScalingMode(KSYMediaPlayer.VIDEO_SCALING_MODE_SCALE_TO_FIT);
////            }
////        }
////    };
//    private void setPlayer() {
//        ksyMediaPlayer = new KSYMediaPlayer.Builder(mContext).build();
//        // ksyMediaPlayer.setOnBufferingUpdateListener(mOnBufferingUpdateListener);
//        ksyMediaPlayer.setOnCompletionListener(mOnCompletionListener);
//        ksyMediaPlayer.setOnPreparedListener(mOnPreparedListener);
//        ksyMediaPlayer.setOnInfoListener(mOnInfoListener);
//        //  ksyMediaPlayer.setOnVideoSizeChangedListener(mOnVideoSizeChangeListener);
//        ksyMediaPlayer.setOnErrorListener(mOnErrorListener);
//        // ksyMediaPlayer.setOnSeekCompleteListener(mOnSeekCompletedListener);
//        ksyMediaPlayer.setScreenOnWhilePlaying(true);
//        ksyMediaPlayer.setBufferTimeMax(5);
//        ksyMediaPlayer.setVideoScalingMode(KSYMediaPlayer.VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING);
//
//        try {
//            if(!TextUtils.isEmpty(mDataSource)) {
//                ksyMediaPlayer.setDataSource(mDataSource);
//                ksyMediaPlayer.prepareAsync();
//            }
//        } catch (IOException e) {
//            e.printStackTrace();
//        }
//        ksyMediaPlayer.setVideoScalingMode(KSYMediaPlayer.VIDEO_SCALING_MODE_SCALE_TO_FIT);
//    }
//
//    private final Callback mSurfaceCallback = new Callback() {
//        @Override
//        public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
//            // if(ksyMediaPlayer != null && ksyMediaPlayer.isPlaying()){
//
//            //    ksyMediaPlayer.setVideoScalingMode(KSYMediaPlayer.VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING);
//        }
//
//        @Override
//        public void surfaceCreated(SurfaceHolder holder) {
//            if (ksyMediaPlayer != null)
//                ksyMediaPlayer.setDisplay(holder);
//        }
//
//        @Override
//        public void surfaceDestroyed(SurfaceHolder holder) {
//            if (ksyMediaPlayer != null) {
//                ksyMediaPlayer.setDisplay(null);
//            }
//        }
//    };
//    private View.OnTouchListener mTouchListener = new View.OnTouchListener() {
//        @Override
//        public boolean onTouch(View v, MotionEvent event) {
//            if (ksyMediaPlayer == null) {
//                setPlayer();
//            } else {
//                if (ksyMediaPlayer.isPlaying()) {
//                    ksyMediaPlayer.pause();
//                    Toast.makeText(ChatAndVideoActivity.this, "播放暂停", Toast.LENGTH_SHORT).show();
//                } else if (ksyMediaPlayer.isPlayable()) {
//                    ksyMediaPlayer.start();
//                }
//            }
//            return false;
//        }
//    };
//    private IMediaPlayer.OnCompletionListener mOnCompletionListener = new IMediaPlayer.OnCompletionListener() {
//        @Override
//        public void onCompletion(IMediaPlayer mp) {
//            progressBar.setVisibility(View.GONE);
//            Log.e("mylog", "结束OnCompletionListener, play complete.");
//             Toast.makeText(mContext, "直播结束", Toast.LENGTH_LONG).show();
//            //videoPlayEnd();
//        }
//    };
//    private IMediaPlayer.OnPreparedListener mOnPreparedListener = new IMediaPlayer.OnPreparedListener() {
//        @Override
//        public void onPrepared(IMediaPlayer mp) {
//
//
//            if(loading_black_bg.getVisibility()==View.VISIBLE){
//                loading_black_bg.setVisibility(View.GONE);
//            }
//            progressBar.setVisibility(View.GONE);
//            ksyMediaPlayer.start();
//        }
//    };
//    public IMediaPlayer.OnInfoListener mOnInfoListener = new IMediaPlayer.OnInfoListener() {
//        @Override
//        public boolean onInfo(IMediaPlayer iMediaPlayer, int i, int i1) {
//            switch (i) {
//                case KSYMediaPlayer.MEDIA_INFO_BUFFERING_START:
//                    if(loading_black_bg.getVisibility()==View.VISIBLE){
//                        loading_black_bg.setVisibility(View.GONE);
//                    }
//                    progressBar.setVisibility(View.VISIBLE);
//                    Log.e("mylog", "开始缓冲");
//                    break;
//                case KSYMediaPlayer.MEDIA_INFO_BUFFERING_END:
//                    progressBar.setVisibility(View.GONE);
//                    Log.e("mylog", "缓冲结束");
//                    break;
//                case KSYMediaPlayer.MEDIA_INFO_AUDIO_RENDERING_START:
//                    progressBar.setVisibility(View.GONE);
//                    Log.e("mylog", "Audio Rendering Start 11111111");
//                    if(loading_black_bg.getVisibility()==View.VISIBLE){
//                        loading_black_bg.setVisibility(View.GONE);
//                    }
//                    // Toast.makeText(mContext, "Audio Rendering Start", Toast.LENGTH_SHORT).show();
//                    break;
//                case KSYMediaPlayer.MEDIA_INFO_VIDEO_RENDERING_START:
//                    progressBar.setVisibility(View.GONE);
//                    Log.e("mylog", "Audio Rendering Start 2222222");
//                    if(loading_black_bg.getVisibility()==View.VISIBLE){
//                        loading_black_bg.setVisibility(View.GONE);
//                    }
//                    // Toast.makeText(mContext, "Video Rendering Start", Toast.LENGTH_SHORT).show();
//                    break;
//                case KSYMediaPlayer.MEDIA_INFO_SUGGEST_RELOAD:
//                    // Player find a new stream(video or audio), and we could reload the video.
//                    if (ksyMediaPlayer != null)
//                        ksyMediaPlayer.reload(mDataSource, false);
//                    break;
//            }
//            return false;
//        }
//    };
//    private IMediaPlayer.OnErrorListener mOnErrorListener = new IMediaPlayer.OnErrorListener() {
//        @Override
//        public boolean onError(IMediaPlayer mp, int what, int extra) {
//            switch (what) {
//                case KSYMediaPlayer.MEDIA_ERROR_UNKNOWN:
//                    break;
//                default:
//                    // Toast.makeText(ChatAndVideoActivity.this,"",Toast.LENGTH_SHORT).show();
//                    if (ksyMediaPlayer.isPlaying()) {
//                        ksyMediaPlayer.pause();
//                    }
//                    ksyMediaPlayer.reload(mDataSource, false);
//                    Log.e("mylog", "视频播放失败 重连");
//            }
//
//            //  videoPlayEnd();
//
//            return false;
//        }
//    };
//
//    private void videoPlayEnd() {
//        if (ksyMediaPlayer != null) {
//            ksyMediaPlayer.release();
//            ksyMediaPlayer = null;
//        }
//    }
//
//    @Override
//    public boolean onKeyDown(int keyCode, KeyEvent event) {
//        if (keyCode == KeyEvent.KEYCODE_BACK) {
//            if (!IsPOR){
//                IsPOR = true;
//                top_view.setVisibility(View.VISIBLE);
//                //  fra_container.setVisibility(View.VISIBLE);
//                setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
//                chatFragment.setIsportrait(true);
//
//            }else {
//                chatFragment.onBackPressed();
//                videoPlayEnd();
//                finish();
//            }
//        }
//
//        return super.onKeyDown(keyCode, event);
//    }
//
//    @Override
//    protected void onPause() {
//        super.onPause();
//
//        if(ksyMediaPlayer != null)
//        {
//            ksyMediaPlayer.pause();
//        }
//    }
//
//    @Override
//    protected void onResume() {
//        super.onResume();
//
//        if(ksyMediaPlayer != null)
//        {
//            ksyMediaPlayer.start();
//        }
//    }
//
//    @Override
//    protected void onDestroy() {
//        super.onDestroy();
//        activityInstance = null;
//        EventBus.getDefault().unregister(this);
//    }
//
//    @Override
//    protected void onNewIntent(Intent intent) {
//        // make sure only one chat activity is opened
//        String username = intent.getStringExtra("userId");
//        if (toChatUsername.equals(username))
//            super.onNewIntent(intent);
//        else {
//            finish();
//            startActivity(intent);
//        }
//
//    }
//
//    @Override
//    public void onBackPressed() {
//
//
//    }
//
//    public String getToChatUsername() {
//        return toChatUsername;
//    }
//
//    @Override
//    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,
//                                           @NonNull int[] grantResults) {
//        PermissionsManager.getInstance().notifyPermissionsChange(permissions, grantResults);
//    }
//
//    public void onEvent(HxCmdBean bean) {
//        /*
//        String s_action=bean.action;
//        Log.i("mylog",s_action);
//        String[] d_action=s_action.split(" ");
//        mDataSource=d_action[2];
//        if(d_action[0].equals("true")) {
//       //     mDataSource="http://abc.file.alimmdn.com/IMG_0322.MOV?t=1437565108000";
////        try  {
////            ksyMediaPlayer.setDataSource(mDataSource);
////            ksyMediaPlayer.prepareAsync();
////        } catch (IOException e) {
////            e.printStackTrace();
////        }
//            String  user=d_action[1];
//            Log.i("mylog",user);
//            boolean isadd=false;
//            for(int i=0;i<list.size();i++){
//                if (user.equals(list.get(i).userId)){
//                    isadd=true;
//                    break;
//                }
//            }
//            if(isadd==false){
//                UserUrlBean userUrlBean=new UserUrlBean(user,mDataSource,true);
//                list.add(userUrlBean);
//
//                runOnUiThread(new Runnable() {
//                    public void run() {
//                        adapter.setList(list);
//                        adapter.notifyDataSetChanged();
//                    }
//
//                });
//
//            }
//          }else{
//            mDataSource="rtmp://live.hkstv.hk.lxdns.com/live/hks";
////            try  {
////                ksyMediaPlayer.setDataSource(mDataSource);
////                ksyMediaPlayer.prepareAsync();
////            } catch (IOException e) {
////                e.printStackTrace();
////            }
//            String  user=d_action[1];
//            boolean isadd=false;
//            int num=0;
//            for(int i=0;i<list.size();i++){
//                if (user.equals(list.get(i).userId)){
//                    num=i;
//                    isadd=true;
//                    break;
//                }
//            }
//            if(isadd==true){
//                list.remove(num);
//
//                runOnUiThread(new Runnable() {
//                    public void run() {
//                        adapter.setList(list);
//                        adapter.notifyDataSetChanged();
//                    }
//
//                });
//
//            }
//            if (ksyMediaPlayer.isPlaying()) {
//                ksyMediaPlayer.pause();
//            }
//            ksyMediaPlayer.reload( mDataSource,false);
//        }
//          */
//    }
//
//    protected void initPopupWindow() {
//        View popupWindowView = getLayoutInflater().inflate(R.layout.pop_person, null);
//        gridView = (GridView) popupWindowView.findViewById(R.id.gridview);
//        gridView.setAdapter(adapter);
//        gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
//            @Override
//            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
//                if (ksyMediaPlayer.isPlaying()) {
//                    ksyMediaPlayer.pause();
//                }
//                ksyMediaPlayer.reload(list.get(position).getUrl(), false);
//                popupWindow.dismiss();
//                progressBar.setVisibility(View.VISIBLE);
//            }
//        });
//        popupWindow = new PopupWindow(popupWindowView, LayoutParams.WRAP_CONTENT, LayoutParams.FILL_PARENT, true);
//        popupWindow.setAnimationStyle(R.style.AnimationRightFade);
//
//        //菜单背景色
//        ColorDrawable dw = new ColorDrawable(Color.parseColor("#cc000000"));
//        popupWindow.setBackgroundDrawable(dw);
//        popupWindow.showAtLocation(getLayoutInflater().inflate(R.layout.activity_chatandvideo, null), Gravity.RIGHT, 0, dip2px(ChatAndVideoActivity.this, 100));
//        //关闭事件
//        popupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
//            @Override
//            public void onDismiss() {
//
//            }
//        });
//    }
//
//    /**
//     * 根据手机的分辨率从 dp 的单位 转成为 px(像素)
//     */
//    public static int dip2px(Context context, float dpValue) {
//        final float scale = context.getResources().getDisplayMetrics().density;
//        return (int) (dpValue * scale + 0.5f);
//    }
//    public void onEvent(UserEventBean bean){
//        int type =bean.type;
//        if(type==0){
//            //单聊查询用户信息
//            netRequest.requestHXIMUserDetail(4,bean.username);
//        }else if(type==1){
//            new Thread(){
//                public void run(){
//                    try {
//                        Thread.sleep(500);
//                        runOnUiThread(new Runnable() {
//                            public void run() {
//                                chatFragment.setListViewRefresh();
//                            }
//
//                        });
//                    } catch (Exception e) {
//                    }
//                }
//            }.start();
//        }
//    }
//    @Override
//    public void onAfinalFail() {
//
//    }
//
//    @Override
//    public void onExecuteSuccess(int requestId, String result, String msg) {
//        if(requestId == 4){
//            Gson gson = new Gson();
//            HXUserBean hxUserBean = gson.fromJson(result, HXUserBean.class);
//            try {
//                rb.saveMember(db, "", hxUserBean.getIm_user_id(), hxUserBean.getNickname()
//                        , "", hxUserBean.getHead_pic_path(), "0");
//            }catch (Exception e){
//            }
//            new Thread(){
//                public void run(){
//                    try {
//                        Thread.sleep(500);
//                        runOnUiThread(new Runnable() {
//                            public void run() {
//                                chatFragment.setListViewRefresh();
//                            }
//
//                        });
//                    } catch (Exception e) {
//                    }
//                }
//            }.start();
//        }
//    }
//
//    @Override
//    public void onExecuteFail(int requestId, String msg) {
//        Log.i("mylog", msg);
//    }
}
